<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
</head>
<body>
<div id="app4">
    年齡：<input type="number" v-model="info4.age4"><br>
    提示信息：<span>{{infoMsg4}}</span>
</div>
<!--
在这里需要注意的有两点：
1，这里的function不能使用箭头函数替代，如果使用箭头函数的话，this的指向会是全局。
2，你会注意到这里多加入一个属性是deep，它的含义表示是否开启深度监听，如果开启值为true，反之为false。
-->
<script type="text/javascript">
    var vm = new Vue({
        el: '#app4',
        data: {
            info4: {
                age4: ""
            },
            infoMsg4: ""
        },
        watch: {
            info4: {
                handler: function (val, oldval) {
                    var that = this;
                    if (val.age4 > 0 && val.age4 < 15) {
                        that.infoMsg4 = "你还是个小孩";
                    } else if (val.age4 > 15 && val.age4 < 25) {
                        that.infoMsg4 = "你已经是个少年";
                    } else {
                        that.infoMsg4 = "你已经长大了";
                    }
                },
                deep: true
            }
        }
    })
</script>
</body>
</html>